#ifndef __CPPTUTORCREATOR_H__
#define __CPPTUTORCREATOR_H__

#include <iostream>
#include <string>
#include <list>

#include "cppTutorProduct.h"

#include "cppTutorLog.h"
extern CcppTutorLog Log;

//Create the abstract 'Creator' class
class Document
{
    public:
        Document();
        void AddPages(Page* page);
        const std::list<Page*>& GetPages(void);
        //Factory Method
        virtual void CreatePages(void) = 0;
    private:
        std::list<Page*> pages_;
};

#endif //__CPPTUTORCREATOR_H__
